package com.train.course.mapper;

import com.train.course.domain.VideoTagRelation;
import java.util.List;

/**
 * 视频与标签关联Mapper接口
 * 
 * @author ruoyi
 */
public interface VideoTagRelationMapper 
{
    /**
     * 查询视频与标签关联
     * 
     * @param relationId 视频与标签关联主键
     * @return 视频与标签关联
     */
    public VideoTagRelation selectVideoTagRelationById(Long relationId);

    /**
     * 查询视频与标签关联列表
     * 
     * @param videoTagRelation 视频与标签关联
     * @return 视频与标签关联集合
     */
    public List<VideoTagRelation> selectVideoTagRelationList(VideoTagRelation videoTagRelation);

    /**
     * 根据视频ID和类型查询标签关联列表
     * 
     * @param videoId 视频ID
     * @param videoType 视频类型
     * @return 标签关联集合
     */
    public List<VideoTagRelation> selectVideoTagRelationListByVideoId(Long videoId, String videoType);

    /**
     * 新增视频与标签关联
     * 
     * @param videoTagRelation 视频与标签关联
     * @return 结果
     */
    public int insertVideoTagRelation(VideoTagRelation videoTagRelation);

    /**
     * 删除视频与标签关联
     * 
     * @param relationId 视频与标签关联主键
     * @return 结果
     */
    public int deleteVideoTagRelationById(Long relationId);

    /**
     * 根据视频ID和类型删除标签关联
     * 
     * @param videoId 视频ID
     * @param videoType 视频类型
     * @return 结果
     */
    public int deleteVideoTagRelationByVideoId(Long videoId, String videoType);

    /**
     * 批量删除视频与标签关联
     * 
     * @param relationIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVideoTagRelationByIds(Long[] relationIds);
}